//
//  UKTableViewProxy.h
//  UKListManager
//
//  Created by ET|冰琳 on 16/11/3.
//  Copyright © 2016年 UK. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "UKListDataSource.h"
#import "UKDelegateProxy.h"
#import "CellBinder.h"

NS_ASSUME_NONNULL_BEGIN


@interface UKTableViewProxy : UKDelegateProxy<UITableViewDataSource, UITableViewDelegate>



/**
 当列表cell种类大于1时，可实现UKListIdentifierDelegate返回对应cell的identifier，
 当cell实现了CellBinder协议时，会自动调用- (void)bindWithViewModel:(id)model;
 设置好cell
 */
@property (nonatomic, assign, nullable) id<UKListIdentifierDelegate>  identifierDelegate;



- (instancetype)initWithIdentifier:(NSString *)identifier
                       cacheHeight:(BOOL)cache
                        dataSource:(id<UKListDataSource>)dataSource
                        cellConfig:(nullable ListCellConfiguration)cellConfig;


/**
 设置cell选中时执行的action

 @param selectItemAction cell选中时执行的动作
 */
- (void)setSelectItemAction:(ListItemSelect)selectItemAction;

@end

NS_ASSUME_NONNULL_END
